package com.wicket.okrapp.integration.dto;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc QueryCycleStageDataListReqDto
 * @使用场景
 */
@Data
public class QueryCycleStageDataListReqDto
  extends BaseDto
  implements Serializable {

  /**
   * 周期资料归属对象ID
   */
  @ApiModelProperty("周期资料归属对象ID")
  private String cycleDataObjId;

  /**
   * 周期ID
   */
  @ApiModelProperty("周期ID")
  private String cycleId;

  /**
   * 周期资料用途类型编码 OBS_TAR_REP:观测目标汇报 FILLOUT_INDEX:指标填报 PER_SUM_REP:个人总结汇报
   */
  @ApiModelProperty("周期资料用途类型编码")
  private String cyclePurposeTypeCode;

  /**
   * 周期资料归属对象类型编码 EVA_OBJ_TARGET_CYCLE:被评对象目标周期 REPORT_CYCLE_STAGE_PERSONAL:个人汇报周期阶段
   */
  @ApiModelProperty("周期资料归属对象类型编码")
  private String cycleDataObjTypeCode;

  /**
   * 内容性质类型编码 STA_WOR_SUM_CON:阶段工作总结内容 SUM_OF_PRO:问题总结 SOLVING_IDEAS:解决思路 RE_FOR_IMP:改进建议
   */
  @ApiModelProperty("内容性质类型编码")
  private String stageContentType;

  /**
   * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
   */
  @ApiModelProperty("主体生命周期")
  private String subjectLifeCycle;

  /**
   * 是否存档 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否存档")
  private String isArchive;

  /**
   * 评价模板ID
   */
  @NotNull(message = "评价模板ID不能为空")
  @ApiModelProperty("评价模板ID")
  private String evaluationTemplateId;

}
